﻿// =================================================================== 
// 数据访问层接口层(GDIT.Pattern)
//====================================================================
// 文件：IDusers.cs
// 项目名称：学院网站
// 创建时间：2012-08-08
// 负责人：ChenZhiGang
//引用DevExpress.Xpo程序集
// 程序集介绍：用户信息数据访问层接口
// ===================================================================
using GDIT.Model;
using DevExpress.Xpo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GDIT.Pattern
{
    public interface IUsers
    {
        /// <summary>
        /// 判断登陆是否通过
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="password">用户密码</param>
        /// <returns></returns>
        bool IsPass(string name, string password);

        /// <summary>
        /// 根据用户名查询用户角色
        /// </summary>
        /// <param name="name">用户名</param>
        /// <returns>用户所拥有的系统角色，没有则返回空</returns>
        string SelectRole(string name);

        /// <summary>
        /// 根据用户名查询用户所在部门
        /// </summary>
        /// <param name="name">用户名</param>
        /// <returns>返回用户所在部门，没有则返回空</returns>
        string SelectDepartment(string name);

        /// <summary>
        /// 根据用户名修改用户角色
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="role">将要修改的用户角色</param>
        int UpdateRole(string name, string role);

        /// <summary>
        /// 根据用户名修改用户所在部门
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="department">用户所在部门</param>
        int UpdatePosition(string name, string department);

        /// <summary>
        /// 根据用户名修改用户密码
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="password">用户将要修改的用户密码</param>
        int UpdatePassword(string name, string password);

        /// <summary>
        /// 修改用户个人资料
        /// </summary>
        /// <param name="user"></param>
        int UpdateUserData(Mtb_Users user);

        /// <summary>
        /// 判断用户名是否已经存在
        /// </summary>
        /// <param name="name">将要添加的用户名</param>
        /// <returns>true：用户名存在  false：用户名不存在</returns>
        bool IsExist(string name);

        /// <summary>
        /// 根据用户名返回一个用户对象
        /// </summary>
        /// <param name="name">用户名</param>
        /// <returns></returns>
        Mtb_Users GetUser(string name);

        /// <summary>
        /// 返回所有用户资料
        /// </summary>
        /// <returns>返回所有用户的资料</returns>
        XPCollection GetAllUser();

        /// <summary>
        /// 新增一个用户
        /// </summary>
        /// <param name="user">需要新增的用户对象</param>
        /// <returns></returns>
        int AddUser(Mtb_Users user);

        /// <summary>
        /// 删除一个用户
        /// </summary>
        /// <param name="user">需要删除的用户对象</param>
        /// <returns></returns>
        int DeleteUser(int id);

        /// <summary>
        /// 增加校园资讯文章
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        int AddUserCollegeArticle(Mtb_Users user);

        /// <summary>
        /// 增加公告文章
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
         int AddUserBulletinArticle(Mtb_Users user);
    }
}
